5 REM This program is Reading
10 KEY OFF:WIDTH 80:CLS:DEFSTR C,R,S,Z:DEFINT I,L,T
20 LOCATE 1,27:COLOR 0,7:PRINT " ***** TACHISTOSCOPE *****";
30 LOCATE 3,10:COLOR 7,0:PRINT "This program is designed to improve your reading speed.";
40 LOCATE 5,10:PRINT "I will briefly display a short phase and you try and read it.";
50 LOCATE 7,10:PRINT "Type what you see, and I will tell you if you were right.";
70 COLOR 15: LOCATE 25,25:PRINT "press any key when you're ready";
74 CHAIN MERGE "words", 75, ALL
75 GOSUB 1000:T1=1000:T4=100:T$=TIME$:XX=VAL(LEFT$(T$,2))*120+VAL(MID$(T$,4,2))*60+VAL(RIGHT$(T$,2)):RANDOMIZE XX
78 C(1)="Right":C(2)="Correct":C(3)="Absolutely":C(4)="You're doing OK!":C(5)="I knew you'd get that one"
80 IF INKEY$ = "" THEN GOTO 80
100 RESTORE:FOR I=1 TO INT(RND*L+1):READ S:NEXT I
110 COLOR 10:CLS:LOCATE 12,1,0:PRINT STRING$(80,"-");:LOCATE 14,1,0:PRINT STRING$(80,"-");
120 T=5:GOSUB 2000
130 X=40-INT(LEN(S)/2):COLOR 15:LOCATE 13,X:PRINT S
140 FOR I=1 TO T1:NEXT I:CLS
150 COLOR 7:LOCATE 1,1:PRINT "Enter what you read ":INPUT R
160 IF R=S THEN GOSUB 500 ELSE GOSUB 600
170 COLOR 15:LOCATE 24,22:PRINT "Do you want another phrase (Y or N)?";
180 I$=INKEY$:IF I$="" THEN GOTO 180
190 IF INSTR("ynYN",I$)=0 THEN GOTO 180
200 IF INSTR("yY",I$)<>0 THEN GOTO 100
210 RUN "menu"
500 COLOR 0,7:I=RND(6)*6+1:X=40-LEN(C(I))/2:LOCATE 12,X:PRINT C(I):COLOR 7,0
510 PLAY "mbc16c16c16ge8g"
520 T1=T1-T4:RETURN
600 PLAY "n50n25":T4=10
610 COLOR 7:LOCATE 3,1:PRINT "Sorry - Try again!":INPUT R
620 IF R=S THEN GOTO 500
630 PLAY "n50n25":COLOR 7:LOCATE 12,27:PRINT "Sorry, what I gave you was"
640 COLOR 0,7:LOCATE 13,27:PRINT S:COLOR 7,0
650 T1=T1+T4:RETURN
1000 ON ERROR GOTO 1050
1010 RESTORE:L=0
1020 READ X$:L=L+1:GOTO 1020
1050 RETURN
2000 T$=TIME$:T3=VAL(LEFT$(T$,2))*120+VAL(MID$(T$,4,2))*60+VAL(RIGHT$(T$,2))
2010 T$=TIME$:T2=VAL(LEFT$(T$,2))*120+VAL(MID$(T$,4,2))*60+VAL(RIGHT$(T$,2))
2020 IF T>T2-T3 THEN GOTO 2010 ELSE RETURN
